home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / states / SetStyle.as < prev    next >
Encoding:
Text File  |  2008-10-29  |  3.3 KB  |  127 lines

  1. package mx.states
  2. {
  3.    import mx.core.UIComponent;
  4.    import mx.core.mx_internal;
  5.    import mx.styles.IStyleClient;
  6.    import mx.styles.StyleManager;
  7.    
  8.    use namespace mx_internal;
  9.    
  10.    public class SetStyle implements IOverride
  11.    {
  12.       mx_internal static const VERSION:String = "3.0.0.0";
  13.       
  14.       private static const RELATED_PROPERTIES:Object = {
  15.          "left":["x"],
  16.          "top":["y"],
  17.          "right":["x"],
  18.          "bottom":["y"]
  19.       };
  20.       
  21.       private var oldRelatedValues:Array;
  22.       
  23.       private var oldValue:Object;
  24.       
  25.       public var name:String;
  26.       
  27.       public var target:IStyleClient;
  28.       
  29.       public var value:Object;
  30.       
  31.       public function SetStyle(param1:IStyleClient = null, param2:String = null, param3:Object = null)
  32.       {
  33.          super();
  34.          this.target = param1;
  35.          this.name = param2;
  36.          this.value = param3;
  37.       }
  38.       
  39.       public function remove(param1:UIComponent) : void
  40.       {
  41.          var _loc4_:int = 0;
  42.          var _loc2_:IStyleClient = !!target ? target : param1;
  43.          if(oldValue is Number)
  44.          {
  45.             _loc2_.setStyle(name,Number(oldValue));
  46.          }
  47.          else if(oldValue is Boolean)
  48.          {
  49.             _loc2_.setStyle(name,toBoolean(oldValue));
  50.          }
  51.          else if(oldValue === null)
  52.          {
  53.             _loc2_.clearStyle(name);
  54.          }
  55.          else
  56.          {
  57.             _loc2_.setStyle(name,oldValue);
  58.          }
  59.          var _loc3_:Array = !!RELATED_PROPERTIES[name] ? RELATED_PROPERTIES[name] : null;
  60.          if(_loc3_)
  61.          {
  62.             _loc4_ = 0;
  63.             while(_loc4_ < _loc3_.length)
  64.             {
  65.                _loc2_[_loc3_[_loc4_]] = oldRelatedValues[_loc4_];
  66.                _loc4_++;
  67.             }
  68.          }
  69.       }
  70.       
  71.       private function toBoolean(param1:Object) : Boolean
  72.       {
  73.          if(param1 is String)
  74.          {
  75.             return param1.toLowerCase() == "true";
  76.          }
  77.          return param1 != false;
  78.       }
  79.       
  80.       public function apply(param1:UIComponent) : void
  81.       {
  82.          var _loc4_:int = 0;
  83.          var _loc2_:IStyleClient = !!target ? target : param1;
  84.          var _loc3_:Array = !!RELATED_PROPERTIES[name] ? RELATED_PROPERTIES[name] : null;
  85.          oldValue = _loc2_.getStyle(name);
  86.          if(_loc3_)
  87.          {
  88.             oldRelatedValues = [];
  89.             _loc4_ = 0;
  90.             while(_loc4_ < _loc3_.length)
  91.             {
  92.                oldRelatedValues[_loc4_] = _loc2_[_loc3_[_loc4_]];
  93.                _loc4_++;
  94.             }
  95.          }
  96.          if(value === null)
  97.          {
  98.             _loc2_.clearStyle(name);
  99.          }
  100.          else if(oldValue is Number)
  101.          {
  102.             if(name.toLowerCase().indexOf("color") != -1)
  103.             {
  104.                _loc2_.setStyle(name,StyleManager.getColorName(value));
  105.             }
  106.             else
  107.             {
  108.                _loc2_.setStyle(name,Number(value));
  109.             }
  110.          }
  111.          else if(oldValue is Boolean)
  112.          {
  113.             _loc2_.setStyle(name,toBoolean(value));
  114.          }
  115.          else
  116.          {
  117.             _loc2_.setStyle(name,value);
  118.          }
  119.       }
  120.       
  121.       public function initialize() : void
  122.       {
  123.       }
  124.    }
  125. }
  126.  
  127.